home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
151-175
/
disk_170
/
surf
/
src
/
menu_files.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
7KB
|
247 lines
#include "gadgetdef.h"
static struct IntuiText filetext[] = {
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"save as", NULL },
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"save first", NULL },
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"save next", NULL },
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"open map", NULL },
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"close map", NULL }
};
static struct IntuiText greytext[] = {
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"Grey model", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"Average", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"Lumin", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"Distance", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"R only", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"G only", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"B only", NULL }
};
static struct IntuiText packtext[] = {
{ 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"compression", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"run length", NULL },
{ 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"none", NULL }
};
#define FILEFLAGS ( ITEMTEXT | HIGHCOMP | ITEMENABLED )
static struct MenuItem packitems[] = {
{ &packitems[1], /* next item */
90, 0, 110 , 10, /* x,y,w,h */
COLMEMFLAGS| CHECKED,
2, /* mutual exclude bits */
(APTR) &packtext[1], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ NULL, /* next item */
90, 10, 110 , 10, /* x,y,w,h */
COLMEMFLAGS,
1, /* mutual exclude bits */
(APTR) &packtext[2], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
}
};
#define GREYMUTUAL(pos) (077 ^ (1<<(pos)))
static struct MenuItem greyitems[] = {
{ &greyitems[1], /* next item */
90, 0, 80 , 10, /* x,y,w,h */
COLMEMFLAGS|CHECKED,
GREYMUTUAL(0), /* mutual exclude bits */
(APTR) &greytext[1], /* average */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &greyitems[2], /* next item */
90, 10, 80 , 10, /* x,y,w,h */
COLMEMFLAGS,
GREYMUTUAL(1), /* mutual exclude bits */
(APTR) &greytext[2], /* lumin */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &greyitems[3], /* next item */
90, 20, 80 , 10, /* x,y,w,h */
COLMEMFLAGS,
GREYMUTUAL(2), /* mutual exclude bits */
(APTR) &greytext[3], /* dist */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &greyitems[4], /* next item */
90, 30, 80 , 10, /* x,y,w,h */
COLMEMFLAGS,
GREYMUTUAL(3), /* mutual exclude bits */
(APTR) &greytext[4], /* dist */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &greyitems[5], /* next item */
90, 40, 80 , 10, /* x,y,w,h */
COLMEMFLAGS,
GREYMUTUAL(4), /* mutual exclude bits */
(APTR) &greytext[5], /* dist */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ NULL, /* next item */
90, 50, 80 , 10, /* x,y,w,h */
COLMEMFLAGS,
GREYMUTUAL(5), /* mutual exclude bits */
(APTR) &greytext[6], /* dist */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
}
};
static struct MenuItem fileitems[] = {
{ &fileitems[1], /* next item */
10, 0, 90 , 10, /* x,y,w,h */
FILEFLAGS,
0, /* mutual exclude bits */
(APTR) &filetext[0], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &fileitems[2], /* next item */
10, 10, 90 , 10, /* x,y,w,h */
FILEFLAGS,
0, /* mutual exclude bits */
(APTR) &filetext[1], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &fileitems[3], /* next item */
10, 20, 90 , 10, /* x,y,w,h */
FILEFLAGS,
0, /* mutual exclude bits */
(APTR) &filetext[2], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &fileitems[4], /* next item */
10, 30, 90 , 10, /* x,y,w,h */
FILEFLAGS,
0, /* mutual exclude bits */
(APTR) &packtext[0], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
packitems, /* submenu item */
0 /* next select for select dragging */
},
{ &fileitems[5], /* next item */
10, 40, 90 , 10, /* x,y,w,h */
FILEFLAGS,
0, /* mutual exclude bits */
(APTR) &filetext[3], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
},
{ &fileitems[6], /* next item */
10, 50, IMAGE_HITWIDTH , 10, /* x,y,w,h */
COLMEMFLAGS,
1, /* mutual exclude bits */
(APTR) &greytext[0], /* red */
NULL, /* highlight image */
'h', /* command byte ? */
greyitems, /* submenu item */
0 /* next select for select dragging */
},
{ NULL, /* next item */
10, 60, 90 , 10, /* x,y,w,h */
FILEFLAGS,
0, /* mutual exclude bits */
(APTR) &filetext[4], /* grey */
NULL, /* highlight image */
'h', /* command byte ? */
NULL, /* submenu item */
0 /* next select for select dragging */
}
};
extern char *GetOutFile();
extern char *GetInFile();
MenuDoFile(item)
int item;
{
static int filecnt = 0;
char tempbuff[80];
char *filename;
bool packflag;
int i;
packflag = Selected( packitems[0] )?1:0;
switch (item ) {
case 0:
if( (filename = GetOutFile())) {
SetHourGlass();
WriteIlbm(filename, &SurfWinDef, &SurfScrnDef, packflag);
}
break;
case 1:
filecnt = 0; /* deliberate fall into case 2 */
case 2:
if( filename = GetOutFile()) {
SetHourGlass();
sprintf(tempbuff, "%s.%d", filename, filecnt++ );
WriteIlbm(tempbuff, &SurfWinDef, &SurfScrnDef, packflag);
}
break;
case 4:
if( filename = GetInFile()){
SetHourGlass();
ReadIlbm( filename);
}
break;
case 5:
for( i = 0; i < (sizeof(greyitems)/sizeof(greyitems[0])); i++ ) {
if( Selected(greyitems[i])) {
SetGreyModel(i);
}
}
break;
case 6:
CloseImgPix();
break;
default:
break;
}
ClearHourGlass();
}